package reflect;

import reflect.annotations.AutoRunClass;

/**
 * 反射机制访问注解
 */
public class ReflectDemo9 {
    public static void main(String[] args) throws ClassNotFoundException {
        //判断Person类上是否被注解@AutoRunClass标注了?

        Class cls = Class.forName("reflect.Person");
        /*
            boolean isAnnotationPresent(Class cls)
            该方法所有反射对象都支持
            作用:判断当前反射对象表示的内容上是否被指定注解标注了。指定的注解就是方法需要传入
                的参数类对象表示的注解。

            常见的反射对象:
            Class:类对象，每个实例表示一个类
            Constructor:构造器对象，每个实例表示一个构造器
            Method:方法对象，每个实例表示一个方法
            Filed:属性对象，每个实例表示一个属性
            Package:包对象，每个实例表示一个包信息
         */
        //cls表示的类Person上是否被参数类对象AutoRunClass.class表述的注解@AutoRunClass标注了?
        boolean mark = cls.isAnnotationPresent(AutoRunClass.class);
        if(mark){
            System.out.println("被标注了");
        }else{
            System.out.println("没有被标注");
        }



    }
}
